/*
 * Copyright 2011 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * @fileoverview Helper functions
 */

function stringStartsWith(str, prefix) {
  return str.lastIndexOf(prefix, 0) == 0;
}

function stringTemplate(htmlTemplate, data) {
  // Template format is '${...}'.
  return htmlTemplate.replace(/\${(\w+)}?/g,
      function(str, p1) {
        var value = data[p1];
        return (typeof value == 'string') ? value : str;
      });
}

function $(id) {
  return document.getElementById(id);
}

function bulidHTMLView(templateData, element) {
  var htmlTemplate = element.innerHTML;
  element.innerHTML = stringTemplate(htmlTemplate, templateData);
}

function getMessages(ids) {
  var result = {};
  for (var i = 0, c = ids.length; i < c; ++i) {
    var id = ids[i];
    result[id] = chrome.i18n.getMessage(id);
  }
  return result;
}
